//
//  PreferenceController.m
//  CocOCaml
//
//	$Id: PreferenceController.m,v 1.1.1.1 2003/02/27 16:53:39 wneuman Exp $
//
//  Created by William D. Neumann on Sun Feb 16 2003.
//  Copyright (c) 2003 William D. Neumann. All rights reserved.
//
//	This program is free software; you can redistribute it and/or modify
//	it under the terms of the Artistic License as published by Larry
//	Wall, either version 2.0, or (at your option) any later version.
//
//	This program is distributed in the hope that it will be useful,
//	but WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//	Artistic License for more details.
//
//	You should have received a copy of the Artistic License with this Kit,
//	in the file named "Artistic.clarified".  If not, I'll be glad to provide
//	one.
//

#import "PreferenceController.h"

NSString* WDNInterpreterPathKey = @"Interpreter Path";
NSString* WDNInterpreterArgsKey = @"Interpreter Arguments";
NSString* WDNInitialPrefsSetKey = @"Initial Preferences Were Set";

@implementation PreferenceController

- (id) init
{
    self = [super initWithWindowNibName:@"Preferences"];
    return self;
}

- (void) windowDidLoad
{
    NSUserDefaults* defaults;
    NSString* taskPath;
    NSString* taskArgs;
    
    defaults = [NSUserDefaults standardUserDefaults];
    taskPath = [defaults objectForKey:WDNInterpreterPathKey];
    taskArgs = [defaults objectForKey:WDNInterpreterArgsKey];
    [interpreterPathField setStringValue:taskPath];
    [interpreterArgsField setStringValue:taskArgs];
}

- (IBAction) savePreferences:(id)sender
{
    NSString* taskPath;
    NSString* taskArgs;

    taskPath = [interpreterPathField stringValue];
    taskArgs = [interpreterArgsField stringValue];
    [[NSUserDefaults standardUserDefaults] setObject:taskPath forKey:WDNInterpreterPathKey];
    [[NSUserDefaults standardUserDefaults] setObject:taskArgs forKey:WDNInterpreterArgsKey];
    [[NSUserDefaults standardUserDefaults] setObject:@"YES" forKey:WDNInitialPrefsSetKey];
    [self close];
}

- (IBAction) cancel:(id)sender
{
    [self close];
}

@end
